﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;

namespace WTwitter.ViewModel.Utility {
	/// <summary>
	/// On,Offの状態を保持して、状態にあわせた画像を保持するクラス
	/// </summary>
	class ToggleImageButton : ImageButton {
		private bool _isOn = false;
		private BitmapImage _alternativeImage;

		/// <summary>
		/// コンストラクタ
		/// </summary>
		/// <param name="description">ボタンの機能の簡潔な説明</param>
		/// <param name="command">ボタン押下時のコマンド</param>
		/// <param name="_onImage">Onの画像。Imageプロパティで取得する</param>
		/// <param name="_offImage">Offの画像。AlternativeImageプロパティで取得する</param>
		public ToggleImageButton(string description, ICommand command, BitmapImage _onImage, BitmapImage _offImage)
			: base(description, command, _onImage) {
			_alternativeImage = _offImage;
		}

		/// <summary>
		/// Offの時の画像
		/// </summary>
		public BitmapImage AlternativeImage {
			get { return _alternativeImage; }
		}

		public bool IsOn {
			get {
				return _isOn;
			}
			set {
				if (_isOn != value) {
					_isOn = value;
					OnPropertyChanged("IsOn");
				}
			}
		}
	}
}
